<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
  </head>
  <body>
    <script>
      // let 和 const 的区别
      // let 可以重新赋值，const 不能重新赋值
      let a = 10;
      a = 20;
      console.log(a);
      const b = 10;
      // b = 20; // 报错

      // 数组和对象是引用数据类型，存储在堆中，栈中存储的是地址
      // 对于引用数据类型，const 声明的变量，存储的是地址而不是值，地址指向堆中的数据
      const arr = [1, 2, 3];
      arr.push(4); // 可以修改数组中的元素
      console.log(arr);
      // arr = [1, 2, 3, 4]; // 报错
      const obj = {
        name: "张三",
        age: 18,
      };
      obj.name = "李四"; // 可以修改对象中的属性
      console.log(obj);
      // obj = { name: "王五", age: 20 }; // 报错
    </script>
  </body>
</html>